type StringToUnion<T extends string> = T extends `${infer R}${infer P}` ? `${R}` | StringToUnion<P> : never
